1. Field of the Invention
The present invention generally relates to the field of computer graphics. More specifically, the invention relates to a material authoring pipeline.
2. Description of the Related Art
The term computer aided design (CAD) refers to a broad variety of computer-based tools used by architects, engineers, animators, video game designers, and other graphics and design professionals. CAD applications may be used to construct computer models or drawings representing virtually any imaginable two-dimensional (2D) or three-dimensional (3D) construct. Initially, such a construct is defined in part by the regions making up the surface of that construct. A rendering application may be used to add detail to the construct by applying materials to various regions of the construct. Additionally, computer models can be static or animated, where time is a fourth dimension. For example, rendering a motion-blurred object is a four-dimensional (4D) rendering process.
The perceived realism of a rendered scene depends in part on the quality of the materials applied to constructs within the scene. Materials are typically generated using a program known in the art as a “shader” that transforms raw data into a computer representation. The raw data associated with materials is often generated by scanning surfaces using a material scanner. For example, a sample of sandpaper may be scanned to gather raw data that could be used to generate a material resembling the actual texture of the sandpaper. Material scanners are often configured with a number of mobile light sources of variable intensity that illuminate the surface from many different angles and with a range of intensity. A number of mobile digital cameras may then record the response of the surface to the different configurations of lighting and intensity. The data output by a material scanner describes the response of the scanned surface to the variety of lighting conditions.
FIG. 1 illustrates the response of a surface 102 to an incident light beam 104, according to prior art. Depending on the physical properties of surface 102, light beam 104 may be reflected away from surface 102, scattered by surface 102, transmitted through surface 102, scattered upon transmission through surface 102, and may undergo subsurface scattering caused by surface 102, among others. Each of these effects may be measured by cameras surrounding material 102. The captured data, referred to as “BxDF data,” may be digitally recorded on a computer memory. A material that represents the surface may then be manually programmed by a computer programmer for use when rendering using a particular rendering engine. The material may be programmed to compress the captured data using a BxDF compression algorithm.
One drawback of this conventional approach is that materials based on the captured data are usually generated for use with only one rendering engine, due to the complex programming involved. Additionally, if a material is created that implements a first BxDF compression algorithm, then there is no way to determine how the quality of the resultant material compares to a material that implements a second BxDF compression algorithm, without explicitly programming both materials. These inherent limitations cause programming of materials using conventional techniques to be an inefficient and cumbersome endeavor.
Accordingly, there remains a need in the art for an efficient way to generate shaders from scanner data.